using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI;

namespace Minimal.Web
{
    /// <summary>
    /// An interface that can be implemented by <see cref="Control" />s
    /// that gives access to a strongly typed query string.
    /// </summary>
    /// <typeparam name="TQuery"></typeparam>
    public interface IQueryControl<TQuery>
        : IQueryControl where TQuery : QueryString
    {
        /// <summary>
        /// Gets the query string of the control when implemented.
        /// </summary>
        new TQuery Query { get; }
    }

    /// <summary>
    /// Should be implemented by pages and controls that has
    /// QueryStrings, used by the query string class to redirect.
    /// </summary>
    public interface IQueryControl
    {
        /// <summary>
        /// Gets the query string of the control when implemented.
        /// </summary>
        QueryString Query { get; }
    }
}
